<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 求最大公约数
    function fn(m, n) {
        var r = m % n;
        m = n;
        n = r;
        if (r === 0) {
            return m;
        } else {
            return fn(m, n)
        }
    }
    console.log(fn(72, 45))




    // 输入n为偶数时，调用函数求1/2+1/4+...+1/n,当输入n为奇数时，调用函数求1+1/3+...+1/n 
    // function fn1(n){
    //     // 创建容器，准备存放最终结果
    //     var sum = 0;
    //     // 提前设置循环的计数器
    //     var i=0;
    //     // 判断奇偶
    //     if(n % 2 === 0){
    //         // 偶数，计数器为2
    //         i=2;
    //     }else{
    //         // 奇数，计数器为1
    //         i=1;
    //     }
    //     // 根据提前处理的计数器，开启循环
    //     for(i;i<=n;i+=2){
    //         // 计算：累加
    //         sum += 1/i;
    //     }
    //     // 返回结果
    //     return sum;
    // }
    // console.log(fn1(8));


    function fn2(n){
        if(n === 1){
            return 1;
        }
        if(n === 2){
            return 1/2;
        }
        return fn2(n-2) + 1/n;
    }
    console.log(fn2(8));

    // 当为1时，直接返回1
    // 当为2时，直接返回1/2
    // 当为非1非2时，直接开始递归：fn(n-2) + 1/n
    
    // fn(n) = fn(n-2) + 1/n
</script>

</html>